//package com.ruoyi.capsule.utils;
//
//import com.ruoyi.capsule.domain.CapsuleData;
//import com.ruoyi.quartz.domain.SysJob;
//import com.ruoyi.quartz.util.ScheduleUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//
//import java.util.Calendar;
//import java.util.Date;
//
//public class QuartzCapsuleUtils {
//
//    /**
//     * 添加胶囊提醒任务
//     * @param capsule 胶囊对象
//     */
//    public static void addCapsuleJob(CapsuleData capsule) {
//        // 生成唯一任务名称
//        String jobName = "CAPSULE_JOB_" + capsule.getCapsuleId();
//        String jobGroup = "CAPSULE_GROUP";
//
//        // 配置任务参数（传递胶囊ID）
//        SysJob job = new SysJob();
//        job.setJobName(jobName);
//        job.setJobGroup(jobGroup);
//        job.setInvokeTarget("capsuleRemindJob.execute(" + capsule.getCapsuleId() + ")");
////        job.setCronExpression("0 0 0 1/1 * ?");
//        job.setCronExpression(genCron(capsule.getUnlockTime()));
//        job.setMisfirePolicy("3"); // 错失执行策略-立即执行一次
//        job.setConcurrent("0"); // 禁止并发
//
//        // 调用若依的任务服务添加任务
//
////        ScheduleUtils.createScheduleJob();
//    }
//
//    /**
//     * 生成Cron表达式（支持到2099年）
//     */
//    private static String genCron(Date unlockTime) {
//        Calendar cal = Calendar.getInstance();
//        cal.setTime(unlockTime);
//        return String.format("%d %d %d %d %d ? %d",
//                cal.get(Calendar.SECOND),
//                cal.get(Calendar.MINUTE),
//                cal.get(Calendar.HOUR_OF_DAY),
//                cal.get(Calendar.DAY_OF_MONTH),
//                cal.get(Calendar.MONTH) + 1,
//                cal.get(Calendar.YEAR)
//        );
//    }
//}
